/*
 * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved.
 *
 * File Name: sensor_list.h
 * Description:
 */

#ifndef __SENSOR_LIST_H__
#define __SENSOR_LIST_H__
#include "cvi_comm_isp.h"


typedef enum _SAMPLE_SNS_TYPE_E {
	/* ------ LINEAR BEGIN ------*/
	BRIGATES_BG0808_MIPI_2M_30FPS_10BIT,
	BYD_BF2253L_MIPI_1200P_30FPS_10BIT,
	CHIPUP_XS9922B_MODE_720P_1CH_8BIT,
	CHIPUP_XS9922B_MODE_720P_2CH_8BIT,
	CHIPUP_XS9922B_MODE_720P_3CH_8BIT,
	CVSENS_CV2003_MIPI_2M_1080P_30FPS_10BIT,
	CVSENS_CV2003_1L_MIPI_2M_1080P_30FPS_10BIT,
	CVSENS_CV2003_1L_SLAVE_MIPI_2M_1080P_30FPS_10BIT,
	CVSENS_CV2003_1L_SLAVE1_MIPI_2M_1080P_30FPS_10BIT,
	CVSENS_CV4001_MIPI_4M_1440P_25FPS_12BIT,
	GCORE_GC02M1_MIPI_2M_30FPS_10BIT,
	GCORE_GC0312_MIPI_480P_20FPS_8BIT,
	GCORE_GC0329_MIPI_480P_10FPS_8BIT,
	GCORE_GC1054_MIPI_1M_30FPS_10BIT,
	GCORE_GC1084_MIPI_1M_30FPS_10BIT,
	GCORE_GC1084_SLAVE_MIPI_1M_30FPS_10BIT,
	GCORE_GC1084_SLAVE1_MIPI_1M_30FPS_10BIT,
	GCORE_GC1084_SLAVE2_MIPI_1M_30FPS_10BIT,
	GCORE_GC2053_MIPI_2M_30FPS_10BIT,
	GCORE_GC2053_SLAVE_MIPI_2M_30FPS_10BIT,
	GCORE_GC2053_1L_MIPI_2M_30FPS_10BIT,
	GCORE_GC2083_MIPI_2M_30FPS_10BIT,
	GCORE_GC2093_MIPI_2M_30FPS_10BIT,
	GCORE_GC2093_MIPI_2M_60FPS_10BIT,
	GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT,
	GCORE_GC2145_MIPI_2M_12FPS_8BIT,
	GCORE_GC2385_1L_MIPI_2M_30FPS_10BIT,
	GCORE_GC4023_MIPI_4M_30FPS_10BIT,
	GCORE_GC4653_MIPI_4M_30FPS_10BIT,
	GCORE_GC4653_SLAVE_MIPI_4M_30FPS_10BIT,
	IMGDS_MIS2008_MIPI_2M_1080P_30FPS_12BIT,
	NEXTCHIP_N5_1M_2CH_25FPS_8BIT,
	NEXTCHIP_N5_2M_25FPS_8BIT,
	NEXTCHIP_N6_2M_4CH_25FPS_8BIT,
	OV_OS02D10_MIPI_2M_30FPS_10BIT,
	OV_OS02D10_SLAVE_MIPI_2M_30FPS_10BIT,
	OV_OS02N10_1L_MIPI_2M_15FPS_10BIT,
	OV_OS02K10_SLAVE_MIPI_2M_30FPS_12BIT,
	OV_OS04A10_MIPI_4M_1440P_30FPS_12BIT,
	OV_OS04C10_MIPI_4M_30FPS_12BIT,
	OV_OS04C10_MIPI_4M_1440P_30FPS_12BIT,
	OV_OS04C10_SLAVE_MIPI_4M_30FPS_12BIT,
	OV_OS08A20_MIPI_4M_30FPS_10BIT,
	OV_OS08A20_SLAVE_MIPI_4M_30FPS_10BIT,
	OV_OS08A20_MIPI_5M_30FPS_10BIT,
	OV_OS08A20_SLAVE_MIPI_5M_30FPS_10BIT,
	OV_OS08A20_MIPI_8M_30FPS_10BIT,
	OV_OS08A20_SLAVE_MIPI_8M_30FPS_10BIT,
	OV_OV4689_MIPI_4M_30FPS_10BIT,
	OV_OV5647_MIPI_2M_30FPS_10BIT,
	OV_OV6211_MIPI_400P_120FPS_10BIT,
	OV_OV7251_MIPI_480P_120FPS_10BIT,
	PICO384_THERMAL_384X288,
	PICO640_THERMAL_479P,
	PIXELPLUS_PR2000_2M_30FPS_8BIT,
	PIXELPLUS_PR2020_1M_25FPS_8BIT,
	PIXELPLUS_PR2020_1M_30FPS_8BIT,
	PIXELPLUS_PR2020_2M_25FPS_8BIT,
	PIXELPLUS_PR2020_2M_30FPS_8BIT,
	PIXELPLUS_PR2100_2M_25FPS_8BIT,
	PIXELPLUS_PR2100_2M_2CH_25FPS_8BIT,
	PIXELPLUS_PR2100_2M_4CH_25FPS_8BIT,
	SMS_SC035GS_MIPI_480P_120FPS_12BIT,
	SMS_SC035GS_1L_MIPI_480P_120FPS_10BIT,
	SMS_SC035HGS_MIPI_480P_120FPS_12BIT,
	SMS_SC035HGS_1L_MIPI_480P_120FPS_10BIT,
	SMS_SC132GS_MIPI_1080P_60FPS_10BIT,
	SMS_SC132GS_SLAVE_MIPI_1080P_60FPS_10BIT,
	SMS_SC1336_1L_MIPI_1M_30FPS_10BIT,
	SMS_SC1336_1L_MIPI_1M_60FPS_10BIT,
	SMS_SC1346_1L_MIPI_1M_30FPS_10BIT,
	SMS_SC1346_1L_MIPI_1M_60FPS_10BIT,
	SMS_SC1346_1L_SLAVE_MIPI_1M_30FPS_10BIT,
	SMS_SC1346_1L_SLAVE_MIPI_1M_60FPS_10BIT,
	SMS_SC200AI_MIPI_2M_30FPS_10BIT,
	SMS_SC200AI_1L_MIPI_2M_30FPS_10BIT,
	SMS_SC230AI_2L_MIPI_2M_30FPS_10BIT,
	SMS_SC230AI_2L_SLAVE_MIPI_2M_30FPS_10BIT,
	SMS_SC301IOT_MIPI_3M_30FPS_10BIT,
	SMS_SC401AI_MIPI_3M_30FPS_10BIT,
	SMS_SC401AI_MIPI_4M_30FPS_10BIT,
	SMS_SC500AI_MIPI_4M_30FPS_10BIT,
	SMS_SC500AI_MIPI_5M_30FPS_10BIT,
	SMS_SC501AI_2L_MIPI_5M_30FPS_10BIT,
	SMS_SC531AI_2L_MIPI_5M_30FPS_10BIT,
	SMS_SC850SL_MIPI_8M_30FPS_12BIT,
	SMS_SC3332_MIPI_3M_30FPS_10BIT,
	SMS_SC3335_MIPI_3M_30FPS_10BIT,
	SMS_SC3335_SLAVE_MIPI_3M_30FPS_10BIT,
	SMS_SC3336_MIPI_3M_30FPS_10BIT,
	SMS_SC3336_1L_MIPI_3M_20FPS_10BIT,
	SMS_SC3336P_MIPI_3M_30FPS_10BIT,
	SMS_SC2331_1L_MIPI_2M_30FPS_10BIT,
	SMS_SC2331_1L_SLAVE_MIPI_2M_30FPS_10BIT,
	SMS_SC2331_1L_SLAVE1_MIPI_2M_30FPS_10BIT,
	SMS_SC2335_MIPI_2M_30FPS_10BIT,
	SMS_SC2336_MIPI_2M_30FPS_10BIT,
	SMS_SC2336_SLAVE_MIPI_2M_30FPS_10BIT,
	SMS_SC2336_SLAVE1_MIPI_2M_30FPS_10BIT,
	SMS_SC2336_1L_MIPI_2M_30FPS_10BIT,
	SMS_SC2336P_MIPI_2M_30FPS_10BIT,
	SMS_SC2336P_1L_MIPI_2M_30FPS_10BIT,
	SMS_SC223A_1L_MIPI_2M_30FPS_10BIT,
	SMS_SC4210_MIPI_4M_30FPS_12BIT,
	SMS_SC4336_MIPI_4M_30FPS_10BIT,
	SMS_SC4336P_MIPI_4M_30FPS_10BIT,
	SMS_SC5336_2L_MIPI_5M_30FPS_10BIT,
	SMS_SC8238_MIPI_8M_30FPS_10BIT,
	SOI_F23_MIPI_2M_30FPS_10BIT,
	SOI_F35_MIPI_2M_30FPS_10BIT,
	SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT,
	SOI_F37P_MIPI_2M_30FPS_10BIT,
	SOI_H65_MIPI_1M_30FPS_10BIT,
	SOI_K06_MIPI_4M_25FPS_10BIT,
	SOI_Q03_MIPI_3M_30FPS_10BIT,
	SOI_Q03P_MIPI_3M_30FPS_10BIT,
	SOI_F53_MIPI_2M_30FPS_10BIT,
	SOI_F352_MIPI_2M_30FPS_10BIT,
	SOI_K306_MIPI_4M_25FPS_10BIT,
	SONY_IMX290_MIPI_1M_30FPS_12BIT,
	SONY_IMX290_MIPI_2M_60FPS_12BIT,
	SONY_IMX307_MIPI_2M_30FPS_12BIT,
	SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT,
	SONY_IMX307_2L_MIPI_2M_30FPS_12BIT,
	SONY_IMX307_SUBLVDS_2M_30FPS_12BIT,
	SONY_IMX307_MIPI_2M_60FPS_12BIT,
	SONY_IMX307_SUBLVDS_2M_60FPS_12BIT,
#ifdef FPGA_PORTING
	SONY_IMX327_MIPI_1M_30FPS_10BIT,
#endif
	SONY_IMX327_MIPI_2M_30FPS_12BIT,
	SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT,
	SONY_IMX327_2L_MIPI_2M_30FPS_12BIT,
	SONY_IMX327_SUBLVDS_2M_30FPS_12BIT,
	SONY_IMX327_MIPI_2M_60FPS_12BIT,
	SONY_IMX334_MIPI_8M_30FPS_12BIT,
	SONY_IMX335_MIPI_4M_30FPS_12BIT,
	SONY_IMX335_MIPI_4M_1600P_30FPS_12BIT,
	SONY_IMX335_2L_MIPI_4M_30FPS_10BIT,
	SONY_IMX335_MIPI_5M_30FPS_12BIT,
	SONY_IMX335_MIPI_2M_60FPS_10BIT,
	SONY_IMX335_MIPI_4M_60FPS_10BIT,
	SONY_IMX335_MIPI_5M_60FPS_10BIT,
	SONY_IMX347_MIPI_4M_60FPS_12BIT,
	SONY_IMX385_MIPI_2M_30FPS_12BIT,
	SONY_IMX675_MIPI_5M_30FPS_12BIT,
	TECHPOINT_TP2850_MIPI_2M_30FPS_8BIT,
	TECHPOINT_TP2850_MIPI_4M_30FPS_8BIT,
	TECHPOINT_TP2825_MIPI_2M_30FPS_8BIT,
	TECHPOINT_TP2863_MIPI_1M_25FPS_8BIT,
	TECHPOINT_TP2863_MIPI_2M_25FPS_8BIT,
	TECHPOINT_TP2863_MIPI_1M_30FPS_8BIT,
	TECHPOINT_TP2863_MIPI_2M_30FPS_8BIT,
	VIVO_MCS369_2M_30FPS_12BIT,
	VIVO_MCS369Q_4M_30FPS_12BIT,
	VIVO_MM308M2_2M_25FPS_8BIT,
	LONTIUM_LT6911_2M_60FPS_8BIT,
	LONTIUM_LT7911_2M_60FPS_8BIT,
	/* ------ LINEAR END ------*/
	SAMPLE_SNS_TYPE_LINEAR_BUTT,

	/* ------ WDR 2TO1 BEGIN ------*/
	BRIGATES_BG0808_MIPI_2M_30FPS_10BIT_WDR2TO1 = SAMPLE_SNS_TYPE_LINEAR_BUTT,
	CVSENS_CV4001_MIPI_4M_1440P_15FPS_WDR2TO1,
	GCORE_GC2093_MIPI_2M_30FPS_10BIT_WDR2TO1,
	GCORE_GC2093_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1,
	OV_OS04A10_MIPI_4M_1440P_30FPS_10BIT_WDR2TO1,
	OV_OS04C10_MIPI_4M_30FPS_10BIT_WDR2TO1,
	OV_OS04C10_MIPI_4M_1440P_30FPS_10BIT_WDR2TO1,
	OV_OS04C10_SLAVE_MIPI_4M_30FPS_10BIT_WDR2TO1,
	OV_OS08A20_MIPI_4M_30FPS_10BIT_WDR2TO1,
	OV_OS08A20_SLAVE_MIPI_4M_30FPS_10BIT_WDR2TO1,
	OV_OS08A20_MIPI_5M_30FPS_10BIT_WDR2TO1,
	OV_OS08A20_SLAVE_MIPI_5M_30FPS_10BIT_WDR2TO1,
	OV_OS08A20_MIPI_8M_30FPS_10BIT_WDR2TO1,
	OV_OS08A20_SLAVE_MIPI_8M_30FPS_10BIT_WDR2TO1,
	SMS_SC1336_1L_MIPI_1M_30FPS_10BIT_WDR2TO1,
	SMS_SC1336_1L_MIPI_1M_60FPS_10BIT_WDR2TO1,
	SMS_SC1346_1L_MIPI_1M_30FPS_10BIT_WDR2TO1,
	SMS_SC1346_1L_MIPI_1M_60FPS_10BIT_WDR2TO1,
	SMS_SC200AI_MIPI_2M_30FPS_10BIT_WDR2TO1,
	SMS_SC500AI_MIPI_4M_30FPS_10BIT_WDR2TO1,
	SMS_SC500AI_MIPI_5M_30FPS_10BIT_WDR2TO1,
	SMS_SC850SL_MIPI_8M_30FPS_10BIT_WDR2TO1,
	SMS_SC4210_MIPI_4M_30FPS_10BIT_WDR2TO1,
	SMS_SC8238_MIPI_8M_15FPS_10BIT_WDR2TO1,
	SOI_F35_MIPI_2M_30FPS_10BIT_WDR2TO1,
	SOI_F35_SLAVE_MIPI_2M_30FPS_10BIT_WDR2TO1,
	SOI_F352_MIPI_2M_30FPS_10BIT_WDR2TO1,
	SONY_IMX307_MIPI_2M_30FPS_12BIT_WDR2TO1,
	SONY_IMX307_2L_MIPI_2M_30FPS_12BIT_WDR2TO1,
	SONY_IMX307_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1,
	SONY_IMX307_SUBLVDS_2M_30FPS_12BIT_WDR2TO1,
#ifdef FPGA_PORTING
	SONY_IMX327_MIPI_1M_30FPS_10BIT_WDR2TO1,
#endif
	SONY_IMX327_MIPI_2M_30FPS_12BIT_WDR2TO1,
	SONY_IMX327_2L_MIPI_2M_30FPS_12BIT_WDR2TO1,
	SONY_IMX327_SLAVE_MIPI_2M_30FPS_12BIT_WDR2TO1,
	SONY_IMX327_SUBLVDS_2M_30FPS_12BIT_WDR2TO1,
	SONY_IMX334_MIPI_8M_30FPS_12BIT_WDR2TO1,
	SONY_IMX335_MIPI_2M_30FPS_10BIT_WDR2TO1,
	SONY_IMX335_MIPI_4M_30FPS_10BIT_WDR2TO1,
	SONY_IMX335_MIPI_4M_1600P_30FPS_10BIT_WDR2TO1,
	SONY_IMX335_MIPI_5M_30FPS_10BIT_WDR2TO1,
	SONY_IMX675_MIPI_5M_25FPS_12BIT_WDR2TO1,
	SONY_IMX347_MIPI_4M_30FPS_12BIT_WDR2TO1,
	SONY_IMX385_MIPI_2M_30FPS_12BIT_WDR2TO1,
	/* ------ WDR 2TO1 END ------*/
	SAMPLE_SNS_TYPE_BUTT,
} SAMPLE_SNS_TYPE_E;

extern const char *snsr_type_name[SAMPLE_SNS_TYPE_BUTT];

#endif